/**
 * @description $column.type == 长 || 多
 * 长文本
 */

import { Form, Input } from 'antd';
import getDisabled from '../getDisabled';
import getRule from '../getRule';

function YyTextArea({ column, disabledColumnNames, showLabel }) {
  // 隐藏。表单项有个hidden属性可以控制，但这个是class控制的，权限不高，容易被其它类覆盖
  let style = column.yy_hide ? { display: 'none' } : null

  // [1] 配置校检rules字段。column已经有rules则取，无则重新生成
  let rules = column.rules ? column.rules : getRule(column)

  // [2] 配置disabled字段
  let disabled = getDisabled(column) || disabledColumnNames.includes(column.columnName)

  return (
    <Form.Item
      label={showLabel ? column.comments : null}
      name={column.columnName}
      rules={rules}
      style={style}
      className='textarea-item'
    >
      <Input.TextArea rows={4} disabled={disabled} />
    </Form.Item>
  )
}

export default YyTextArea